package utils

import "time"

// ServerStats 服务器统计数据结构
type ServerStats struct {
	TotalRequests int
	SuccessCount  int
	NotFoundCount int
	ErrorCount    int
	StartTime     time.Time
}

// NewServerStats 创建新的服务器统计对象
func NewServerStats() *ServerStats {
	return &ServerStats{
		StartTime: time.Now(),
	}
}

// IncrementTotalRequests 增加总请求数
func (s *ServerStats) IncrementTotalRequests() {
	s.TotalRequests++
}

// IncrementSuccessCount 增加成功响应数
func (s *ServerStats) IncrementSuccessCount() {
	s.SuccessCount++
}

// IncrementNotFoundCount 增加404响应数
func (s *ServerStats) IncrementNotFoundCount() {
	s.NotFoundCount++
}

// IncrementErrorCount 增加错误响应数
func (s *ServerStats) IncrementErrorCount() {
	s.ErrorCount++
}

// GetUptime 获取运行时间
func (s *ServerStats) GetUptime() time.Duration {
	return time.Since(s.StartTime)
}